package com.gimi.cloud.jimi.dto.order;

import java.math.BigDecimal;

import com.gimi.cloud.jimi.dto.base.BaseDTO;
import com.gimi.cloud.jimi.dto.params.OrderParams;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;

public class OrderCostDTO extends BaseDTO {
    private static final long serialVersionUID = 1L;
    //主键
    private Integer ocId;
    //订单id
    private Integer oId;
    //订单编号
    private String orderCode;
    //商品合计
    private BigDecimal goodsTotal;
    //运费
    private BigDecimal freightTotal;
    //优惠券
    private BigDecimal couponTotal;
    //活动优惠
    private BigDecimal activityTotal;
    //折扣金额
    private BigDecimal discountTotal;
    //订单总金额
    private BigDecimal orderTotal;
    //应付款金额
    private BigDecimal payTotal;
    //履约保证金
    @NotNull(message = "履约保证金不能为空",groups = OrderParams.AddOrder.class)
    private BigDecimal deposit;
    //意外保险费
    @NotNull(message = "意外保障费不能为空",groups = OrderParams.AddOrder.class)
    private BigDecimal premium;
    //实际应付款金额为应付款金额的溢价后金额
    private BigDecimal truePayTotal;
    //租赁时间
    @NotNull(message = "租赁时间不能为空",groups = OrderParams.AddOrder.class)
    private Integer periods;
    //签约价格
    @NotNull(message = "签约价格不能为空",groups = OrderParams.AddOrder.class)
    private BigDecimal sign;
    //租金
    @NotNull(message = "租金不能为空",groups = OrderParams.AddOrder.class)
    private BigDecimal rent;
    //利息
    private BigDecimal interest;
    //尾差
    private BigDecimal tail;
    //租赁方式(day按天,week按周,month按月,year按年)
    private String rentType;


    public Integer getOcId() {
        return ocId;
    }

    public void setOcId(Integer ocId) {
        this.ocId = ocId;
    }

    public Integer getoId() {
        return oId;
    }

    public void setoId(Integer oId) {
        this.oId = oId;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public BigDecimal getGoodsTotal() {
        return goodsTotal;
    }

    public void setGoodsTotal(BigDecimal goodsTotal) {
        this.goodsTotal = goodsTotal;
    }

    public BigDecimal getFreightTotal() {
        return freightTotal;
    }

    public void setFreightTotal(BigDecimal freightTotal) {
        this.freightTotal = freightTotal;
    }

    public BigDecimal getCouponTotal() {
        return couponTotal;
    }

    public void setCouponTotal(BigDecimal couponTotal) {
        this.couponTotal = couponTotal;
    }

    public BigDecimal getActivityTotal() {
        return activityTotal;
    }

    public void setActivityTotal(BigDecimal activityTotal) {
        this.activityTotal = activityTotal;
    }

    public BigDecimal getDiscountTotal() {
        return discountTotal;
    }

    public void setDiscountTotal(BigDecimal discountTotal) {
        this.discountTotal = discountTotal;
    }

    public BigDecimal getOrderTotal() {
        return orderTotal;
    }

    public void setOrderTotal(BigDecimal orderTotal) {
        this.orderTotal = orderTotal;
    }

    public BigDecimal getPayTotal() {
        return payTotal;
    }

    public void setPayTotal(BigDecimal payTotal) {
        this.payTotal = payTotal;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public BigDecimal getPremium() {
        return premium;
    }

    public void setPremium(BigDecimal premium) {
        this.premium = premium;
    }

    public BigDecimal getTruePayTotal() {
        return truePayTotal;
    }

    public void setTruePayTotal(BigDecimal truePayTotal) {
        this.truePayTotal = truePayTotal;
    }

    public Integer getPeriods() {
        return periods;
    }

    public void setPeriods(Integer periods) {
        this.periods = periods;
    }

    public BigDecimal getRent() {
        return rent;
    }

    public void setRent(BigDecimal rent) {
        this.rent = rent;
    }

    public BigDecimal getTail() {
        return tail;
    }

    public void setTail(BigDecimal tail) {
        this.tail = tail;
    }

    public String getRentType() {
        return rentType;
    }

    public void setRentType(String rentType) {
        this.rentType = rentType;
    }


    public BigDecimal getInterest() {
        return interest;
    }

    public void setInterest(BigDecimal interest) {
        this.interest = interest;
    }

    public BigDecimal getSign() {
        return sign;
    }

    public void setSign(BigDecimal sign) {
        this.sign = sign;
    }
}